package cn.kai.enums;

import lombok.Getter;

/**
 * 统一业务枚举
 * Author: cKnight
 * Date: 2024/6/11
 */
@Getter
public enum BizCodeEnum {
    /**
     * 系统级 响应枚举
     */
    SUCCESS(0, "成功"),
    FAIL(-1, "网络异常,请稍后重试"),
    UNIQUE_ERROR(-999, "唯一值重复，请检查"),
    ILLEGAL_REQUEST(10001,"非法请求"),
    SYS_ARGS_ERROR(11001,"参数缺少请检查！"),
    SYS_ADMIN_FEIGN_ERROR(11003,"admin内部feign调用异常"),
    SYS_APP_FEIGN_ERROR(11004,"app内部feign调用异常"),
    SYS_FILE_ILLEGAL_ERROR(11005,"文件上传非法"),
    SYS_PLATFORM_TYPE_ERROR(11006,"请先选择平台类型！"),
    SYS_BATCH_INSERT_ERROR(11007, "批量插入异常"),
    SYS_ILLEGAL_ARGS_ERROR(11008, "参数非法请检查！"),
    SYS_UPLOAD_IMG_ERROR(13003,"图片上传失败，请重试"),

    /**
     * 后管系统相关
     */
    SYS_USER_LOGIN_EXPIRE(12001,"登录失效,请重新登录"),
    SYS_USER_LOGIN_ERROR(12002,"账号或密码错误,请重新登录"),
    SYS_USER_EXIST_ERROR(13004,"当前账户已存在，不可重复添加"),
    SYS_ILLEGAL_RANGE_ERROR(13005, "范围重复，请修改范围区间"),
    SYS_EXPORT_NULL_ERROR(13006, "无内容导出"),
    SYS_USER_STATUS_OFF_ERROR(13007, "账户已被锁定，请联系管理员"),
    SYS_USER_FILES_COMPANY_ERROR(13008, "非法操作！本公司只能查看本公司用户信息"),
    SYS_LATERAL_MJ_COMPANY_ERROR(13009, "Midjourney公司不可更换"),
    SYS_LATERAL_UPDATE_COMPANY_ERROR(13010, "公司分配失败,请重试"),
    SYS_LATERAL_UPDATE_TOKEN_ACCOUNT_ERROR(13010, "修改用户次数失败,请重试"),
    SYS_LATERAL_TOKEN_ACCOUNT_TOTAL_ERROR(13011, "用户分配次数不可减少"),


    /**
     * ai平台
     */
    AI_FOLDER_FILE_ERROR(14001, "文件夹不为空，请先删除文件夹下的文件"),
    AI_IMAGE_UPLOAD_ERROR(14002, "上传图片不合法,请检查"),

    FILE_ERROR(14003, "文件错误！"),
    OVERALL_FULL_ERROR(14004,"该时间段内已预约或预约已满,请选择其他时间段"),
    TIME_ERROR(14005,"时间错误，请正确选择时间"),
    GPU_MISSING_ERROR(14006, "无可用gpu"),
    AI_APPOINTMENT_TASK_ERROR(14007, "预约任务创建失败，请稍后重试"),
    AI_LOGIN_NO_AUTH_ERROR(14008,"该账号无权限登录，请联系管理员"),

    AI_MJ_TOKEN_NOT_ERROR(14009,"快速模式次数已用尽,请联系管理员"),
    AI_MJ_TOKEN_NUM_ERROR(14010,"创建失败,请重试"),
    AI_MJ_IMG_ERROR(14011,"参考图不可大于3张"),
    AI_IN_UPLOAD_IMG_ERROR(14012,"上传图片数量已到达上限"),
    TASK_CANCELLED_ERROR(14013,"无法取消任务"),
    AI_LATER_GLOBAL_ERROR(14014,"生成失败,请重试"),
    AI_LATER_MJ_CHECK_PROMPT_ERROR(14015,"提示词非法,请检查%s"),


    /**
     * 系统公司
     */
    SYS_COMPANY_UNIQUE_ERROR(15001, "当前公司已存在，请检查"),
    SYS_COMPANY_USER_NUM_ERROR(15002, "当前公司用户已到达上限"),


    /**
     * 系统令牌
     */
    SYS_AUTH_TOKEN_EXIST_ERROR(15101,"已有创建的认证令牌，请稍后重试"),
    SYS_AUTH_TOKEN_NOT_EXIST_ERROR(15102,"令牌已失效，请重新获取"),
    SYS_AUTH_TOKEN_IS_USE_ERROR(15103,"该令牌已被使用，请重新获取");


    private Integer code;
    private String msg;

    BizCodeEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
}
